.........               // 宣告變數(通常是 public)
{
get { .... }         // 希望變數讀取時執行的程式碼
set { .... }         // 希望數值存入時執行的程式碼
}
Class User
主程式
結果
主程式
結果
Class User
主程式
結果
假設只有get沒有set那麼HP就會變成唯讀不能進行存入的動作
結語:這次的get、set存取器花了一些時間來理解,如果有誤請告知小弟我會趕快修正的
你現在是一位遊戲公司的設計師,這次受命完成玩家類別的部分程式碼
其中必須要完成以下兩項工作:
以下是玩家的部分程式碼:
class Player
    {
        //目標 1.欠缺計算總值的程式碼(TotalValue)2.欠缺存取飢餓度(HungerRate) 的程式碼
        //property
        private int CountGold; // 擁有的金子數目,每個金子值 50
        private int CountSilver; // 擁有的銀子數目,每個銀子值 25
        private int CountCopper; // 擁有的銅的數目,每個銅值 10
        private int TotalValue;
        public int totalValue
        {
            get
            {
                TotalValue = 50 * CountGold + 25 * CountSilver + 10 *CountCopper;
                return TotalValue;
            }
        }
        //get 、set
        private int HungerRate; // 飢餓度,必須介於 0~100 之間
        public int hungerRate
        {
            get { return HungerRate; }
            set
            {
                if (value >= 100)
                    HungerRate = 100;
                else if (value <= 0)
                    HungerRate = 0;
                else
                    HungerRate = value;
            }
        }
        //constructor
        public Player()
        {
            this.CountGold = 0;
            this.CountSilver = 0;
            this.CountCopper = 0;
            this.HungerRate = 80;
        }
        public void PickAGold()
        {
            CountGold++;
        }
        public void PickASilver()
        {
            CountSilver++;
        }
        public void PickACopper()
        {
            CountCopper++;
        }
    }
 private void Button1_Click(object sender, EventArgs e)
        {
            Player player = new Player();
            player.PickAGold();
            player.hungerRate += 10; // 餓了,飢餓度上升
            player.PickASilver();
            player.hungerRate += 10; // 餓了,飢餓度上升
            player.PickASilver();
            player.hungerRate += 10; // 餓了,飢餓度上升
            MessageBox.Show("飢餓度:" + player.hungerRate + ",身上物品總值:" + player.totalValue);
            player.PickACopper();
            player.hungerRate -= 60; // 吃了一個可以減少 60 飢餓度的東西
            player.PickAGold();
            player.hungerRate -= 60; // 吃了一個可以減少 60 飢餓度的東西
            MessageBox.Show("飢餓度:" + player.hungerRate + ",身上物品總值:" + player.totalValue);
        }
當你按下按鈕執行後,應該要得到兩個對話框如下:
